#ifndef MSGTYPE_H
#define MSGTYPE_H

#include <QObject>

//消息的类型
enum class MsgType : quint16 {

    UNDEFINED = 0x0000,//未定义的通讯类型

    //客户端处理的消息
    MSG_PLAIN_TEXT = 0x0001, MSG_PIC, MSG_EMOTION, MSG_FILE, MSG_AUDIO, MSG_VIDEO,
    MSG_WINDOW_SHAKE,
    //Group message
    GROUP_MSG_PLAIN_TEXT,

    //登录部分客户端向服务器发起的请求
    //注册和登录请求 重置密码请求
    REQUEST_REGISTER = 0x0020, REQUEST_LOGIN, REQUEST_RESETPW, REQUEST_LOGOUT,

    //服务器向客户端返回的内容
    LOGIN_SUCCESS = 0x0030, LOGIN_ERROR, //登录成功/失败

    REGISTER_SUCCESS = 0x0040, REGISTER_ERROR, //注册成功/失败

    RESETPW_SUCCESS, RESETPW_ERROR, //重置密码成功/失败
    LOGOUT_SUCCESS, LOGOUT_ERROR,

    //好友管理请求 加人/加群
    REQUEST_ADD_FRIEND = 0x0050,
    REQUEST_ADD_FRIEND_AGREED, //好友同意
    REQUEST_ADD_FRIEND_DECLINED, //好友拒绝
    REQUEST_ADD_FRIEND_ERROR, //通用错误
    REQUEST_ADD_FRIEND_ERROR_FRIEND_OFFLINE, //好友不在线的错误
    REQUEST_ADD_FRIEND_ERROR_FRIEND_NOT_EXIST,//好友不存在
    REQUEST_ADD_FRIEND_ERROR_FRIENDSHIP_EXIST,//好友关系已存在

    REQUEST_JOIN_GROUP = 0x0060,


    //好友信息

    REQUEST_ALL_FRIEND_LIST = 0x0070, ALL_FRIEND_LIST,
    REQUEST_ONLINE_FRIEND_LIST,
    REQUEST_ONLINE_FRIEND_LIST_SUCCESS, REQUEST_ALL_FRIEND_LIST_SUCCESS,
    REQUEST_ONLINE_FRIEND_LIST_ERROR, REQUEST_ALL_FRIEND_LIST_ERROR,
    REQUEST_OFFLINE_MSG,

    //在线/离线状态转换
    STATUS_ONLINE = 0x0080, STATUS_OFFLINE,

    //获取个人信息
    REQUEST_USERINFO = 0x0090, USERINFO,

    //注册群聊
    REQUEST_REGISTER_GROUP=0x0100,REGISTER_GROUP_SUCCESS,REGISTER_GROUP_ERROR,
    REQUEST_ADD_GROUP,ADD_GROUP_SUCCESS,ADD_GROUP_ERROR,
    ADD_GROUP_ERROR_GROUP_NOT_EXIST,ADD_GROUP_ERROR_GROUPSHIP_EXIST,

    //群信息
    REQUEST_ALL_GROUP_LIST=0x0110,ALL_GROUP_LIST,

    //修改逻辑
    MODIFY_USERNAME=0x0120,MODIFY_USERNAME_SUCCESS,MODIFY_USERNAME_ERROR,
    //修改头像
    MODIFY_AVATAR,MODIFY_AVATAR_SUCCESS, MODIFY_AVATAR_ERROR,

    //资源文件
    RES_IMG = 0x0130, RES_FILE, RES_REQUEST_IMG, RES_REQUEST_FILE
};


#endif // MSGTYPE_H
